<h1 id="u语言">U语言</h1>
<h3 id="介绍">介绍</h3>
<p>U语言是开发者对编译技术的实践，更多的是开发者对编译技术的实验,由于个人时间有限，<strong>目前只开发和机器无关的（词法分析、构建抽象语法树、语义检查）等部分</strong></p>
<p>一些主要的设计目标是</p>
<ul>
<li>支持面向过程</li>
<li>静态类型</li>
<li>无STW</li>
</ul>
<hr />
<h3 id="文档">文档</h3>
<p><a href="../lexdoc_html/README.html">词法分析器设计文档</a></p>
<p><a href="../语言规范.html">语言规范</a></p>
<p><a href="../upamdoc_html/README.html">U语言包管理器文档</a></p>
<p><a
href="https://gitee.com/u-language/u-language/tree/master/doc/docfile">其他重要文档目录</a></p>
<hr />
<h3 id="重大事件记录">重大事件记录</h3>
<p>2023/1/23
无限期暂停开发mode=fasm模式：自2022年8月实现一个实验性的将ast转换为fasm汇编代码功能以来，fasm/amd64及其配套的包，消耗了最多的时间，写出的代码可维护性最差，可读性最差，实现的功能最差，严重拖慢了开发进度，现在决定无限期暂停开发mode=fasm模式。</p>
<hr />
<h3 id="安装教程">安装教程</h3>
<h4 id="推荐安装方式包管理器安装">推荐安装方式：包管理器安装</h4>
<p>参见 <a href="../upamdoc_html/README.html">U语言包管理器文档</a></p>
<h5 id="不推荐安装方式源码安装">不推荐安装方式：源码安装</h5>
<ol type="1">
<li>源码编译依赖 go 版本 &gt;=1.20</li>
</ol>
<hr />
<ol start="2" type="1">
<li>下载源代码</li>
<li>cd pkg</li>
<li>go build</li>
</ol>
<p>可以使用下列命令安装 git clone
https://gitee.com/u-language/u-language</p>
<p>cd u-language/pkg</p>
<p>go build</p>
<hr />
<h3 id="编译器工作流程">编译器工作流程</h3>
<p><img src="./编译流程.png" /></p>
<hr />
<h3 id="参与贡献">参与贡献</h3>
<ol type="1">
<li>新建issue，并在issue的文本中加上@qiulaidongfeng</li>
<li>Fork 本仓库</li>
<li>新建 Fork_xxx 分支</li>
<li>提交代码</li>
<li>新建 Pull Request</li>
</ol>
